As a method of error correction coding with strong error correction performance, low-density parity check (LDPC) coding is known. LDPC codewords can be decoded based on, for example, message passing algorithm. Calculation complexity of such a decoding process can be evaluated as order O(n) for a code length (n symbols), i.e., a linear order. On the other hand, an encoding process to generate LDPC codewords can be generally realized by multiplying a data symbol sequence (data vector) with a generator matrix. Calculation complexity of such an encoding process can be evaluated as order O(n2) for a code length (n symbols).